package com.yuandian.ops.workbench.po;

import com.yuandian.po.BasePageSearch;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;

/**
 * <p>
 *  实时告警参数类（运维工作台二级页面）
 * <p>
 *
 * @author linshihe
 * @date 2021/10/25
 * @since 1.0.0
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class RealTimeAlarmParams extends BasePageSearch {

    /**
     * 主键id
     */
    private int id;

    /**
     * 系统ID
     */
    private Integer systemId;

    /**
     * 系统Name
     */
    private String systemName;

    /**
     * 业务编码
     */
    private String businessCode;

    /**
     * 业务名称
     */
    private String businessName;

    /**
     * 区域编码
     */
    private String areaCode;

    /**
     * 告警指标编码
     *   "BS_FAIL_RATE_10", "失败率"
     *   "BS_FAIL_RATE_20", "响应时长"
     *   "BS_FAIL_RATE_30", "健康度"
     */
    private String alarmIndicatorCode;

    /**
     * 指标名称
     */
    private String alarmIndicatorName;

    /**
     * 配置项
     * business.alarm.queryDataMinute + business.alarm.unDoingDelayMinute
     */
    private int sumDataMinuteAndDelayMinute;

    /**
     * 数据类型
     */
    private Integer dataType;

    /**
     * 告警类型id 字典值在m_alarm_indicators中
     */
    private List<String> alarmTypeId;
    /**
     * 步骤编码list
     */
    private List<String> stepCodes;

    /**
     * 系统编码list
     */
    private List<String> systemCodes;

    /**
     * 业务编码list
     */
    private List<String> businessCodes;

    /**
     * 告警时间
     */
    private String cycleTime;

    /**
     * 开始时间
     */
    private String startTime;

    /**
     * 结束时间
     */
    private String endTime;

    private List<String> businessCodeList;

    private List<Integer> systemIdList;

    /**
     * 保存ES数据表
     */
    private String[] esTableNameList;

    /**
     * 0:查询所有业务  1:只查 关键 业务
     */
    private int busiType;


    /**
     * 观察对象：
     *      1-业务： 5-高频业务、6-经常、7-低频、8-零散
     *      2-区域
     *      3-步骤
     *      4-接口
     */
    private Integer observationObject;

}
